<!DOCTYPE html>
<meta charset="UTF-8">
<title>CSS Highlight API Test: Highlights using container sizes</title>
<link rel="help" href="https://drafts.csswg.org/css-highlight-api-1/">
<link rel="help" href="https://drafts.csswg.org/css-pseudo/#highlight-styling">
<link rel="help" href="https://drafts.csswg.org/css-conditional-5/#container-lengths">
<link rel="match" href="custom-highlight-container-metrics-003-ref.html">
<meta name="assert" value="a highlight on a container itself renders at the correct size when the container changes">
<head>
  <style>
    .wrapper {
      container: wrapper / size;
      width: 400px;
      height: 200px;
    }
    .resize {
      width: 200px;
      height: 100px;
    }
    @container (width < 300px) {
      .wrapper::highlight(highlight1) {
        text-underline-offset: 2cqw;
        text-decoration-line: underline;
        text-decoration-color: green;
        text-decoration-thickness: 4cqh;
      }
    }
  </style>
</head>
<body>
  <div id="h1" class="wrapper">With container size</div>
  <div id="h2">Should be no highlight</div>
  <script>
    let r1 = new Range();
    r1.setStart(h1, 0);
    r1.setEnd(h1, 1);
    let r2 = new Range();
    r2.setStart(h2, 0);
    r2.setEnd(h2, 1);
    CSS.highlights.set("highlight1", new Highlight(r1, r2));
    requestAnimationFrame(() => {
      h1.classList.add('resize');
      requestAnimationFrame(() => takeScreenshot());
    });
  </script>
</body>
</html>
